package com.ctvit.cch.core.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ctvit.cch.core.pojo.domain.HotCategory;
import com.ctvit.cch.core.pojo.dto.hot.HotCategoryAddDTO;
import com.ctvit.cch.core.pojo.dto.hot.HotCategoryEditDTO;
import com.ctvit.cch.core.pojo.dto.hot.HotCategoryListDTO;
import com.ctvit.cch.core.pojo.vo.hot.HotCategoryGetVO;
import com.ctvit.cch.core.pojo.vo.hot.HotCategoryListVO;
import com.ctvit.cch.core.pojo.vo.hot.HotCategoryRecordVO;

import java.util.List;

/**
 * 热点分类Service接口
 *
 * @author heyingcheng
 * @date 2025/7/19
 */
public interface IHotCategoryService extends IService<HotCategory> {

    /**
     * 查询热点分类列表
     *
     * @param dto 列表参数
     * @return {@link List }<{@link HotCategoryListVO }> 列表数据
     */
    List<HotCategoryListVO> list(HotCategoryListDTO dto);

    /**
     * 添加热点分类
     *
     * @param dto 添加参数
     * @return boolean 添加结果
     */
    boolean add(HotCategoryAddDTO dto);

    /**
     * 修改热点分类
     *
     * @param dto 修改参数
     * @return boolean 修改结果
     */
    boolean edit(HotCategoryEditDTO dto);

    /**
     * 获取热点分类
     *
     * @param id 热点分类ID
     * @return {@link HotCategoryGetVO } 热点分类数据
     */
    HotCategoryGetVO get(String id);

    /**
     * 查询热点榜单分类列表
     *
     * @return {@link List }<{@link HotCategoryRecordVO }> 列表数据
     */
    List<HotCategoryRecordVO> record();
    
    /**
     * 查询我的分类列表
     *
     * @return {@link List }<{@link HotCategoryRecordVO }> 列表数据
     */
    List<HotCategoryRecordVO> my();
    
    /**
     * 查询全部分类列表
     *
     * @return {@link List }<{@link HotCategoryRecordVO }> 列表数据
     */
    List<HotCategoryRecordVO> all();

}
